/**
 * 版权所有(C)，上海海鼎信息工程股份有限公司，2009，所有权利保留。
 * 
 * 项目名：	rumba-web
 * 文件名：	RHyperlinkField.java
 * 模块说明：	
 * 修改历史：
 * Aug 28, 2009 - lxm - 创建。
 */
package com.hd123.rumba.gwt.widget2.client.form;

import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.shared.HandlerRegistration;
import com.google.gwt.user.client.ui.ClickListener;
import com.hd123.rumba.gwt.widget2.client.fielddef.FieldDef;
import com.hd123.rumba.gwt.widget2.client.misc.RHyperlink;

/**
 * 可以作为表单字段，内部是一个RHyperlink的控件。
 * <p>
 * 
 * <b>CSS Style Rules</b> <ol type=disc>
 * <li>.rb-HyperlinkField {}</li> </ol>
 * 
 * @author lxm
 * 
 */
@SuppressWarnings("deprecation")
public class RHyperlinkField extends RFieldBox {

  private static final String STYLENAME_DEFAULT = "rb-HyperlinkField";

  /**
   * 创建对象实例。
   */
  public RHyperlinkField() {
    super(new RHyperlink());
    setStyleName(STYLENAME_DEFAULT);
  }

  /**
   * 创建对象实例。
   * 
   * @param fieldDef
   *          指定字段定义。
   */
  public RHyperlinkField(FieldDef fieldDef) {
    super(new RHyperlink(), fieldDef);
    setStyleName(STYLENAME_DEFAULT);
  }

  /**
   * 取得所包含的RHyperlink控件。
   * 
   * @return
   */
  public RHyperlink getHyperlink() {
    return (RHyperlink) getWidget();
  }

  /**
   * 取得HTML值。
   * 
   * @return
   */
  public String getHTML() {
    return getHyperlink().getHTML();
  }

  /**
   * 设置HTML值。
   * 
   * @param html
   */
  public void setHTML(String html) {
    getHyperlink().setHTML(html);
  }

  /**
   * @deprecated 请用{@link #addClickHandler}代替
   */
  @Deprecated
  public void addClickListener(ClickListener listener) {
    getHyperlink().addClickListener(listener);
  }

  /**
   * @deprecated 请用{@link #addClickHandler}返回的
   *             {@link HandlerRegistration#removeHandler}代替
   */
  @Deprecated
  public void removeClickListener(ClickListener listener) {
    getHyperlink().removeClickListener(listener);
  }

  public HandlerRegistration addClickHandler(ClickHandler handler) {
    return getHyperlink().addClickHandler(handler);
  }

  public void setEnabled(boolean enabled) {
    super.setEnabled(enabled);
    getHyperlink().setEnabled(enabled);
  }

}
